const webpack = require("webpack");
const path = require("path");

//需要放在链接库的插件
const vendors = ["react", "react-dom", "redux"];

module.exports = {
  entry: {//插件唯一入口，直接使用链接库中已存在插件，不再额外打包，减少打包时间
    lib: vendors
  },
  output: {
    filename: "[name].dll.js",//打包后文件名
    path: path.join(__dirname, "../public/dll"),//打包后文件存放位置
    libraryTarget: "var",//默认值-var；暴露为一个变量；将入口起点的返回值，赋值给library提供的变量名
    library: "_dll_[name]"//指定的是你require时候的模块名
  },
  plugins: [
    //接入DllPlugin
    new webpack.DllPlugin({
      //动态链接库输出时的文件名称及路径
      path: path.join(__dirname, "../public/dll", "[name].manifest.json"),
      //动态链接库变量名称，和library中声明的名称一致
      name: "_dll_[name]"
    })
  ]
};
